/**
*  \file    pal_intrinsic.h
*
*  \brief   Processor Intrinsic Functions.
*
*  \author  Michael J. Hohmann <michael.hohmann@linde-mh.de>
*
*
*/

#ifndef PAL_INTRINSIC_H_INCLUDED
#define PAL_INTRINSIC_H_INCLUDED

/*================================================[ public includes  ]================================================*/
#include <stdlib.h>

/*================================================[ public defines   ]================================================*/

/*================================================[ public datatypes ]================================================*/

/*================================================[ public variables ]================================================*/

/*================================================[ public functions ]================================================*/

/** Enable Interrupts.
*
*  The function pal_intrinsic_global_interrupts_enable() will enable the interrupts.
*
*  \attention It is not anticipated that this function is called by an application engineer.
*
*/
STATIC_INLINE void pal_intrinsic_global_interrupts_enable( void )
{

}

/** Disable Interrups.
*
*  The function pal_intrinsic_global_interrupts_disable() will diable the interrupts.
*
*  \attention It is not anticipated that this function is called by an application engineer.
*/
STATIC_INLINE void pal_intrinsic_global_interrupts_disable( void )
{

}

/* No Operation
*
*  The function pal_intrinsic_nop() will execute a NOP opcode.
*
*  \attention It is not anticipated that this function is called by an application engineer.
*/
STATIC_INLINE void pal_intrinsic_nop( void )
{

}

/** Reset System
*
*  The call of the function pal_reset() will resetart the processor.
*  This function will never return !!
*
*  \attention It is not anticipated that this function is called by an application engineer.
*/
STATIC_INLINE void pal_intrinsic_reset( void )
{
   asm("int $3"); /* set breakpoint */
   exit(1);
}

/*====================================================================================================================*/

#endif

/***********************************************************************************************************************
*                             Copyright 2010 Linde Material Handling. All rights reserved.                             *
***********************************************************************************************************************/
